package com.ph.shopping.facade.product.service;

import java.util.List;

import com.ph.shopping.common.util.page.PageBean;
import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.product.entity.PhProductProperty;
import com.ph.shopping.facade.product.vo.PhProductPropertyVo;

/**
 * @项目：phshopping-facade-product @描述： 商品属性 @作者： hewl
 * @创建时间：2017年3月6日 上午11:15
 * @Copyright by hewl
 * @version 1.0.0
 */
public interface IProductPropertyService {

	/**
	 * 商品属性添加方法
	 */
	Result addProductPeoperty(PhProductProperty property) throws Exception;

	/**
	 * 商品属性修改方法
	 */
	Result updateProductPeoperty(PhProductProperty property) throws Exception;

	/**
	 * 商品属性主从查询(不要使用分页插件查询)
	 * 
	 * @author hewl
	 * @param phProductPropertyVo
	 * @return List<PhProductPropertyVo>
	 */
	List<PhProductPropertyVo> getPhProductPropertyVoDetail(PhProductPropertyVo phProductPropertyVo) throws Exception;

	/**
	 * 商品属性列表查询
	 * 
	 * @author hewl
	 * @param phProductPropertyVo
	 * @return List<PhProductPropertyVo>
	 */
	List<PhProductPropertyVo> getPhProductPropertyVoList(PhProductPropertyVo phProductPropertyVo) throws Exception;

	/**
	 * 商品属性分页列表查询
	 * 
	 * @author hewl
	 * @param phProductPropertyVo
	 * @return Result
	 */
	Result getPhProductPropertyVoPageList(PageBean pageBean, PhProductPropertyVo phProductPropertyVo) throws Exception;

	/**
	 * 单条商品属性列表查询
	 * 
	 * @author hewl
	 * @param phProductPropertyVo
	 * @return PhProductPropertyVo
	 */
	PhProductPropertyVo getPhProductPropertyVo(PhProductPropertyVo phProductPropertyVo) throws Exception;

	/**
	 * 逻辑删除商品属性
	 * 
	 * @author hewl
	 * @param phProductPropertyVo:id
	 * @return Result
	 */
	Result deletePhProductProperty(PhProductPropertyVo phProductPropertyVo) throws Exception;
}